package com.heaboy.feedback.service;

import java.util.List;

import com.heaboy.feedback.domain.Clazz;
import com.heaboy.feedback.domain.StudentClazz;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 学生Service接口
 * 
 * @author heaboy
 * @date 2024-02-01
 */
public interface IStudentClazzService  extends IService<StudentClazz>
{
    /**
     * 查询学生
     * 
     * @param id 学生主键
     * @return 学生
     */
    public StudentClazz selectStudentClazzById(Long id);

    /**
     * 查询学生列表
     * 
     * @param studentClazz 学生
     * @return 学生集合
     */
    public List<StudentClazz> selectStudentClazzList(StudentClazz studentClazz);

    /**
     * 新增学生
     * 
     * @param studentClazz 学生
     * @return 结果
     */
    public int insertStudentClazz(StudentClazz studentClazz);

    /**
     * 修改学生
     * 
     * @param studentClazz 学生
     * @return 结果
     */
    public int updateStudentClazz(StudentClazz studentClazz);

    /**
     * 批量删除学生
     * 
     * @param ids 需要删除的学生主键集合
     * @return 结果
     */
    public int deleteStudentClazzByIds(Long[] ids);

    /**
     * 删除学生信息
     * 
     * @param id 学生主键
     * @return 结果
     */
    public int deleteStudentClazzById(Long id);

    /**
     * 学生加入班级,并且检查当前用户有无学生角色 如没有学生角色绑定学生角色
     * @param clazz
     * @return
     */
    boolean joinClazz(Clazz clazz);

    /**
     * 根据班级id查询所有学生班级对应关系
     * @param clazzIds
     * @return
     */
    List<StudentClazz> listByClazzId(Long[] clazzIds);
}
